package com.wt.wechatTools.room.dao;

import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import com.wt.wechatTools.room.entity.UserEntity;

@Dao   //Database access object
public interface UserDao {
    @Insert
    void insert(UserEntity... users);

    /**
     * 更新
     * @param users
     */
    @Update
    void update(UserEntity... users);

    @Delete
    void  delete(UserEntity... users);

    /**
     * 获取用户信息
     * @return
     */
    @Query("SELECT * FROM UserEntity")
    LiveData<UserEntity> getUserLive();

    /**
     * 获取用户表里的任务批次  TaskBatch
     * @return
     */
    @Query("SELECT taskBatch FROM UserEntity")
    Integer getTaskBatch();

    /**
     * 获取用户信息 普通
     * @return
     */
    @Query("SELECT * FROM UserEntity")
    UserEntity getUser();

    /**
     * 更新用户表里的任务批次  TaskBatch
     * @return
     */
    @Query("UPDATE UserEntity SET taskBatch = :batch")
    void updateTaskBatch(Integer batch);

    /**
     * 删除所有
     */
    @Query("DELETE  FROM UserEntity")
    void deleteUserAll();

    /**
     * 更新状态
     */
    @Query("UPDATE UserEntity SET COUNT = :COUNT")
    void updateCount(int COUNT);

    /**
     * 更新套餐结束日期
     */
    @Query("UPDATE UserEntity SET endTime = :endTime")
    void updateEndTime(String endTime);
}
